package com.hexacta.hrs.domain.staffing;

import java.io.Serializable;
import java.util.Calendar;

import org.vectrics.recruiter.job.JobFunction;

/**
 * Representa una solicitud de un recurso para un proyecto en especial.
 * (por ejemplo: un programador Senior del 01/01 al 31/05).
 * 
 * @author ncortinez
 *
 */
public class Requirement implements Serializable,Cloneable,ParticionablePorFecha {

	private static final long serialVersionUID = 1106560718663215272L;

	private Long id;
	private double assignmentPorcentage;
	private Calendar endDate;
	private Calendar startDate;
	private JobFunction requiredRol;
	
	public Object clone() throws CloneNotSupportedException {
	    return super.clone();
	}
	
	/**
	 * GETTERS and SETTERS 
	 */
	
	public double getAssignmentPorcentage() {
		return assignmentPorcentage;
	}
	public void setAssignmentPorcentage(double assignmentPorcentage) {
		this.assignmentPorcentage = assignmentPorcentage;
	}
	public Calendar getEndDate() {
		return this.endDate;
	}
	public void setEndDate(Calendar endDate) {
		this.endDate = endDate;
	}
	public Calendar getStartDate() {
		return this.startDate;
	}
	public void setStartDate(Calendar startDate) {
		this.startDate = startDate;
	}
	public JobFunction getRequiredRol() {
		return this.requiredRol;
	}
	public void setRequiredRol(JobFunction requiredRol) {
		this.requiredRol = requiredRol;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public Long getId() {
		return id;
	}
}
